#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2024-present ArchR (https://github.com/archr-linux/Arch-R)

# Simple script to watch the battery capacity and
# turn the power LED to different states:
# 0-10% flashing green and red
# 11-20% red
# 21+% green
# charging red
# 95+% charging green

function set_led() {
  case $1 in
    green) echo 0 > /sys/class/leds/red\:charging/brightness;;
    red) echo 1 > /sys/class/leds/red\:charging/brightness;;
  esac
}


while true
do
  CAP=$(cat /sys/class/power_supply/battery/capacity)
  STAT=$(cat /sys/class/power_supply/battery/status)
  if [[ ${STAT} == "Discharging" ]]; then
    if (( ${CAP} <= 10 )); then
      for ctr in $(seq 1 1 5); do
        set_led green
        sleep .5
        set_led red
        sleep .5
      done
      continue
    elif (( ${CAP} <= 20 )); then
      set_led red
    else
      set_led green
    fi
  elif (( ${CAP} <= 95 )); then
    set_led red
  else
    set_led green
  fi
  sleep 15
done
